package com.xbai.spark.core.transform

import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}

/**
  * glom 算子
  * 作用：将每一个分区形成一个数组，形成新的 RDD 类型是 RDD[Array[T]]
  * 案例：创建一个 4 个分区的 RDD，并将每个分区的数据放到一个数组
  *
  * @author xbai
  * @Date 2020/12/28
  */
object Spark06_Glom {

  def main(args: Array[String]): Unit = {
    val conf: SparkConf = new SparkConf().setMaster("local[*]").setAppName("glom")
    val sc = new SparkContext(conf)

    val listRDD: RDD[Int] = sc.makeRDD(1 to 10, 4)
    val glomRDD: RDD[Array[Int]] = listRDD.glom()
    glomRDD.collect().foreach(data => println(data.mkString(",")))
  }
}
